/******** 滑动验证 ********/

$(document).ready(function () {
    slide();
});

//滑动解锁移动
function slide() {
    var slideBox = $('#slide_box')[0];
    var slideXbox = $('#slide_xbox')[0];
    var btn = $('#slide_xbox_btn')[0];
    var slideBoxWidth = slideBox.offsetWidth;
    var btnWidth = btn.offsetWidth;
    //pc端
    btn.ondragstart = function () {
        return false;
    };
    btn.onselectstart = function () {
        return false;
    };
    btn.onmousedown = function (e) {
        var disX = e.clientX - btn.offsetLeft;
        document.onmousemove = function (e) {
            var objX = e.clientX - disX + btnWidth;
            if (objX < btnWidth) {
                objX = btnWidth
            }
            if (objX > slideBoxWidth) {
                objX = slideBoxWidth
            }
            $('#slide_xbox').width(objX + 'px');
        };
        document.onmouseup = function (e) {
            var objX = e.clientX - disX + btnWidth;
            if (objX < slideBoxWidth) {
                objX = btnWidth;
            } else {
                objX = slideBoxWidth;
                $('#slide_xbox').html('验证通过<div id="slide_xbox_btn">' +
                    '<i class="iconfont icon-xuanzhong" style="color: #35b34a;"></i>' +
                    '</div>');
                // 发送1系列值给后台,让后台判断是否为机器请求,
                // 如:滑动速率,时间,滑动时鼠标经过滑块路径触发的一串数字
                // 是否存在鼠标抖动
                // 速率平均 减少阀值 +-2
                // 滑动时间低于0.1s, 大于5s 减少验证阀值 +-1
                // 鼠标未经过所有路径上的数字 减少验证阀值 +-2
                // 移动过程中存在鼠标抖动  增加验证阀值 +-2
                // 总阀值数 > 0  验证通过
            }
            $('#slide_xbox').width(objX + 'px');
            document.onmousemove = null;
            document.onmouseup = null;
        };
    };
    //移动端
    var cont = $("#slide_xbox_btn");
    var startX = 0, sX = 0, moveX = 0,leftX = 0;
    cont.on({   //绑定事件
        touchstart: function (e) {
            startX = e.originalEvent.targetTouches[0].pageX;    //获取点击点的X坐标
            sX = $(this).offset().left; //相对于当前窗口X轴的偏移量
            leftX = startX - sX;    //鼠标所能移动的最左端是当前鼠标距div左边距的位置
        },
        touchmove: function (e) {
            e.preventDefault();
            moveX = e.originalEvent.targetTouches[0].pageX;//移动过程中X轴的坐标
            var objX = moveX - leftX + btnWidth;
            if (objX < btnWidth) {
                objX = btnWidth
            }
            if (objX > slideBoxWidth) {
                objX = slideBoxWidth
            }
            $('#slide_xbox').width(objX + 'px');
        },
        touchend: function (e) {
            var objX = moveX - leftX + btnWidth;
            if (objX < slideBoxWidth) {
                objX = btnWidth;
            } else {
                objX = slideBoxWidth;
                $('#slide_xbox').html('验证通过<div id="slide_xbox_btn"><i class="iconfont icon-xuanzhong" style="color: #35b34a;"></i></div>');
            }
            $('#slide_xbox').width(objX + 'px');
        }
    });
}
